package com.heima.apis.article.fallback;

import com.heima.apis.article.IArticleClient;
import com.heima.model.article.dtos.ArticleDto;
import com.heima.model.article.pojos.ApArticle;
import com.heima.model.common.dtos.PageResponseResult;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.common.enums.AppHttpCodeEnum;
import com.heima.model.wemedia.dtos.StatisticsDto;
import com.heima.model.wemedia.dtos.WmCommentPageReqDTO;
import com.heima.model.wemedia.vos.WmCommentVo;
import com.heima.model.wemedia.dtos.WmCommentLikeDTO;
import com.heima.model.wemedia.dtos.WmCommentListPageReqDTO;
import com.heima.model.wemedia.dtos.WmCommentUpdateStatusDTO;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PathVariable;

import java.time.LocalDateTime;

/**
 * @author 陈辉
 * @data 2023 14:50
 */
@Component
public class ArticleClientFallback implements IArticleClient {
    /**
     * 根据时间范围统计点赞数量和收藏数量
     *
     * @param authorId
     * @param beginDateTime
     * @param endDateTime
     * @return
     */
    @Override
    public ResponseResult queryLikesAndConllections(Integer authorId, LocalDateTime beginDateTime, LocalDateTime endDateTime) {
        return null;
    }

    @Override
    public ResponseResult saveArticle(ArticleDto dto) {
        return ResponseResult.errorResult(503,"本次请求降级处理..");
    }

    /**
     * 获取文章
     *
     * @param articleId
     * @return
     */
    @Override
    public ApArticle getArticle(Long articleId) {
        return null;
    }



    /**
     * 根据文章id获取文章配置
     * @param articleId
     * @return
     */
    @Override
    public ResponseResult findArticleConfigByArticleId(Long articleId) {
        return ResponseResult.errorResult(501,"获取文章配置失败...");
    }

    /**
     * 文章表中评论+1
     * @param entryId
     */
    @Override
    public void addOneComment(@PathVariable("enrtyId") Long entryId) {

    }

    /**
     * 删除指定数量的评论
     *
     * @param num
     */
    @Override
    public void deleteCommentNum(Integer num,Long articleId) {
        return;
    }

    /**
     * 通过文章id获取文章信息
     *
     * @param articleId
     * @return
     */
    @Override
    public ApArticle findByArticleId(Long articleId) {
        return null;
    }

    /**
     * 更新文章评论状态
     *
     * @param wmCommentUpdateStatusDTO
     * @return
     */
    @Override
    public ResponseResult updateCommentStatus(WmCommentUpdateStatusDTO wmCommentUpdateStatusDTO) {
        return null;
    }

    /**
     * 查看文章评论列表
     *
     * @param wmCommentListPageReqDTO
     * @return
     */
    @Override
    public ResponseResult commentList(WmCommentListPageReqDTO wmCommentListPageReqDTO) {
        return null;
    }

    /**
     * 自媒体端评论点赞
     *
     * @param wmCommentLikeDTO
     * @return
     */
    @Override
    public ResponseResult commentLike(WmCommentLikeDTO wmCommentLikeDTO, Integer authorId) {
        return null;
    }


    @Override
    public PageResponseResult newPage(StatisticsDto dto) {
        PageResponseResult responseResult = new PageResponseResult(dto.getPage(),dto.getSize(),0);
        responseResult.setCode(501);
        responseResult.setErrorMessage("获取数据失败");
        return responseResult;
    }
}
